home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.1 (Developer) [x86] / NeXT Step 3.1 Intel dev.cdr.dmg / NextDeveloper / Headers / bsd / dev / i386 / StdFBShared.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-04-30  |  2.7 KB  |  111 lines

  1. /*     Copyright (c) 1992 NeXT Computer, Inc.  All rights reserved. 
  2.  *
  3.  * StdFBShared.h - Definitions of objects and types shared between kernel
  4.  *           level StdFB driver and PostScript level driver.
  5.  *
  6.  * HISTORY
  7.  * 03 Sep 92    Joe Pasqua
  8.  *      Created. 
  9.  */
  10.  
  11. #import <mach/boolean.h>
  12.  
  13. #if !defined(__Bounds__) && !defined(BINTREE_H)
  14. #define __Bounds__
  15. typedef struct { short minx, maxx, miny, maxy; } Bounds;
  16. #endif
  17. #if !defined(__Point__) && !defined(BINTREE_H)
  18. #define __Point__
  19. typedef struct { short x, y; } Point;
  20. #endif
  21.  
  22. //
  23. // Cursor and Window Server state data, occupying a slice of shared memory
  24. // between the kernel and WindowServer.
  25. //
  26.  
  27. #define CURSORWIDTH  16         /* width in pixels */
  28. #define CURSORHEIGHT 16         /* height in pixels */
  29.  
  30. struct bm12Cursor {
  31.     unsigned int image[4][16];
  32.     unsigned int mask[4][16];
  33.     unsigned int save[16];
  34. };
  35.  
  36. struct bm18Cursor {
  37.     unsigned char image[4][256];
  38.     unsigned char mask[4][256];
  39.     unsigned char save[256];
  40. };
  41.  
  42. struct bm34Cursor {
  43.     unsigned short image[4][256];
  44.     unsigned short save[256];
  45. };
  46.  
  47. struct bm38Cursor {
  48.     unsigned int image[4][256];
  49.     unsigned int save[256];
  50. };
  51.  
  52. typedef struct {
  53.     int frame;
  54.     ev_lock_data_t cursorSema;    
  55.     char cursorShow;
  56.     char cursorObscured;
  57.     char shieldFlag;
  58.     char shielded;
  59.     Bounds saveRect;
  60.     Bounds shieldRect;
  61.     Point cursorLoc;
  62.     Bounds cursorRect;
  63.     Bounds oldCursorRect;
  64.     Bounds screenBounds;
  65.     Point hotSpot[4];
  66.     union {
  67.     struct bm12Cursor bw;
  68.     struct bm18Cursor bw8;
  69.     struct bm34Cursor rgb;
  70.     struct bm38Cursor rgb24;
  71.     } cursor;
  72. } StdFBShmem_t;
  73.  
  74.  
  75. //
  76. // Get/Set parameters for the StdFB device.  These include support
  77. // for getting the frame buffer parameters, registering the frame buffer
  78. // with the event system, and returning the registration token.
  79. //
  80. /* Valid parameters for getParameterInt */
  81. #define STDFB_FB_DIMENSIONS    "IO_Framebuffer_Dimensions"
  82. typedef enum {
  83.     STDFB_FB_WIDTH,
  84.     STDFB_FB_HEIGHT,
  85.     STDFB_FB_ROWBYTES,
  86.     STDFB_FB_BITS_PER_PIXEL,
  87.     STDFB_FB_FLAGS
  88. } kmFbDimensionIndices;
  89. #define STDFB_FB_DIMENSIONS_SIZE    (STDFB_FB_FLAGS + 1)
  90.  
  91. #define STDFB_FB_REGISTER    "IO_Framebuffer_Register"
  92. #define STDFB_FB_REGISTER_SIZE    1
  93.  
  94. /* Valid parameters for setParameterInt */
  95. #define STDFB_FB_UNREGISTER    "IO_Framebuffer_Unregister"
  96. #define STDFB_FB_UNREGISTER_SIZE    1
  97.  
  98. #define STDFB_FB_MAP        "IO_Framebuffer_Map"
  99. #define STDFB_FB_MAP_SIZE    1
  100.  
  101. #define STDFB_FB_UNMAP        "IO_Framebuffer_Unmap"
  102. #define STDFB_FB_UNMAP_SIZE    1
  103.  
  104. /* Valid parameters for setParameterChar */
  105. #define STDFB_4BPS_TO_5BPS_MAP        "IO_4BPS_to_5BPS_map"
  106. #define STDFB_4BPS_TO_5BPS_MAP_SIZE    16
  107.  
  108. #define STDFB_5BPS_TO_4BPS_MAP        "IO_5BPS_to_4BPS_map"
  109. #define STDFB_5BPS_TO_4BPS_MAP_SIZE    32
  110.  
  111.